package com.example.springcloud.config;

import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component;
import org.springframework.web.client.RestTemplate;

/**
 * @author 莫磊
 * @date 2025/8/20
 * @description
 */
@Configuration
@Component
public class RestTemplateConfig {

    @Bean
    // 开启负载均衡，会读取默认的轮询策略进行使用，如果要调整的话，可以自己实现IRule接口，如下
    @LoadBalanced
    public RestTemplate restTemplate() {
        return new RestTemplate();
    }

    /**
     * 指定负载均衡策略，全局生效
     * @return
     */
    // @Bean
    // public IRule myRule() {
    //     // 随机策略，这个是ribbon自带的默认随机策略
    //     return new RoundRobinRule();
    // }
}
